<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
    // slice(str,end)截取 不包括最后一个元素 如果第二个参数省略掉那么截取至最后
    // slice不会改变原数组 而是将子集作为新数组返回 
    let arrayIntegers = [1, 2, 3, 4, 5];
    let arrayIntegers1 = arrayIntegers.slice(0,2); // returns [1,2]
    let arrayIntegers2 = arrayIntegers.slice(2,3); // returns [3]
    let arrayIntegers3 = arrayIntegers.slice(4);   // returns [5]
    console.log(arrayIntegers1)

    //同样也适用字符串

    const handler = () => console.log ('This is a click handler function');
    document.addEventListener ('click', handler);
    
// slice()	                    splice()
// 不修改原始数组（不可变）	修改原始数组（可变）
// 返回原始数组的子集	    将删除的元素作为数组返回
// 用于从数组中选取元素	    用于在数组中插入或删除元素

// slice() 方法返回一个新的数组对象，这一对象是一个由 begin 和 end 决定的原数组的浅拷贝（包括 begin，不包括end）。
// 原始数组不会被改变。
// 语法：arr.slice(begin, end)
// begin 可选 提取起始处的索引（从 0 开始），从该索引开始提取原数组元素。
// end   可选 提取终止处的索引（从 0 开始），在该索引处结束提取原数组元素。
var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
var citrus = fruits.slice(1, 3);

// fruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
// citrus contains ['Orange','Lemon']
</script>